function getStyle(obj,name)
    {
	    if(obj.currentStyle)
		{
			return obj.currentStyle[name];
		}
	    else
		{
			return getComputedStyle(obj,false)[name];
		}
     };
	function change(obj,json,fnt){
       clearInterval(obj.timer);
       obj.timer=setInterval(function(){
         for(var attr in json)
        {
        	var cur=0;
        	if(attr=='opacity')
        	{
                 cur=Math.round(parseFloat(getStyle(obj,attr))*100);
        	}
        	else
        	{
        		cur=Math.round(parseInt(getStyle(obj,attr)));
        	}
        	var speed=(json[attr]-cur)/6;
        	speed=speed>0?Math.ceil(speed):Math.floor(speed);
        	if(json[attr]==cur)
        	{
        		clearInterval(obj.timer);
                if(fnt())
                {
                    fnt();
                }
        	}
        	else
        	{
        		if(attr=='opacity')
        		{
                    obj.style.filter='alpha(opacity:'+(cur+speed)+')';
                    obj.style.opacity=(cur+speed)/100;
        		}
        		else
        		{
        			obj.style[attr]=cur+speed+'px';
        		}
                
        		
        	}
        }
        },30);
	};